Skip to main content

3.1.2 Komprimert omkoding - inrange

I tillegg til inlist, finnes det en annen logisk funksjon som kan gjøre det lettere å lage betingelser basert på intervaller: inrange. If-betingelser som baserer seg på intervaller blir sjeldent særlig lange, siden man som oftest bare trenger å spesifisere en minimums- og en maksimumsverdi. Men dersom man opererer med flere intervaller i ett og samme if-uttrykk, kan inrange være nyttig. Uansett blir generate- evt. replace-uttrykket mer komprimert i forhold til vanlige if-uttrykk ved bruk av denne funksjonen.

Den logiske funksjonen inrange settes til 1 ("true") dersom verdien i det første argumentet er høyere enn eller lik verdien i det andre argumentet og lavere enn eller lik verdien i det tredje argumentet.

Argumentene til funksjonen kan være både variabler og verdier (alle typer).

Eksempel:

  • generate var = 1 if inrange(formue, 500000, 1000000) (inrange-funksjonen = 1 ("true") dersom formue er større enn eller lik 500000 og mindre enn eller lik 1000000)

Eksempelet over tilsvarer dette uttrykket:

  • generate var = 1 if formue >= 500000 & formue <= 1000000